Microsoft Office Access是由
微软发布的
关系数据库管理系统。它结合了
MicrosoftJet Database Engine 和
图形用户界面两项特点,是 Microsoft Office 的系统程序之一。
用途
Microsoft Access在很多地方得到广泛使用,例如
小型企业,大公司的部门。
Access的用途体现在两个方面:
一、用来进行数据分析: access有强大的数据处理、
统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。 这一点体现在:会用access,提高了
工作效率和工作能力。
二、用来开发软件: access用来开发软件,比如
生产管理、
销售管理、
库存管理等各类
企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其
管理思想。(VB、.net、 C语言等开发工具对于非
计算机专业人员来说太难了,而access则很容易)。 这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的
复合型人才。
另外,在开发一些小型网站WEB应用程序时,用来
存储数据。例如
ASP+Access。这些应用程序都利用
ASP技术在InternetInformation Services运行.比较复杂的WEB应用程序则使用
PHP/
MySQL或者ASP/
Microsoft SQL Server.
ACCESS的用途更多,体现在很多方面:
表格模板。 只需键入需要跟踪的内容,Access 便会使用表格模板提供能够完成相关任务的应用程序。 Access 可处理字段、关系和规则的复杂计算,以便您能够集中精力处理项目。 您将拥有一个全新的应用程序,其中包含能够立即启动并运行的自然 UI。
创建和运行旧数据库。 尽情享用对您的现有桌面数据库 (ACCDB/MDB) 的支持。
特性
Access是一款数据库应用的
开发工具软件,其开发对象主要是Microsoft JET数据库和Microsoft SQLServer数据库。由于在
Office 97及以前的版本中,Microsoft JET 3.51及以前版本的
数据库引擎是随
Access一起安装和发布的,JET数据库与Access就有了天生的
血缘关系,并且Access对JET数据库做了很多地扩充,如,在Access的环境中,可以在查询中使用自己编写的VBA函数,Access的窗体、报表、宏和模块是作为一种特殊
数据存储在JET
数据库文件(.mdb)中,只有在Access环境中才能使用这些对象。随着,
Microsoft Windows操作系统版本的不断升级和改良,在
Windows XP以后版本中,Microsoft将
JET数据库引擎集成在Windows操作系统中作为系统组件的一部分一起发布(主要原因是Windows中还有很多组件需要使用JET引擎,
活动目录等)。从此JET数据库引擎从Access中分离出来,而Access也就成为了一个专门的
数据库应用开发工具。
由于JET数据库引擎的分离,很多
应用程序采用了JET数据库作为其应用的数据库,JET数据库符合
关系数据库理论,有着完整的
数据定义、数据处理、数据
安全管理体系。在Microsoft Windows操作系统中,随着Microsoft在
ActiveX技术上的发展,Windows中不断升级换代的数据访问组件,这些组件包括
ODBC、
OLEDB、
DAO、
ADO,JET数据库引擎和这些组件一起已组成了免费的
数据库管理系统。
Access拥有的报表创建功能能够处理任何它能够访问的
数据源。Access提供功能参数化的查询,这些查询和Access表格可以被诸如
VB6和
.NET的其它程序通过DAO或ADO访问。在Access中,
VBA能够通过ADO访问参数化的
存储过程。与一般的CS关系型数据库管理不同,Access不执行数据库触发,预存程序或
交互式登录操作。Access 2010包括了嵌入ACE数据引擎的表级触发和预存程序,在Access 2010中,表格,查询,图表,报表和宏在基于网络的应用上能够进行分别开发。Access 2010 与Microsoft
SharePoint 2010 的集成也得到了很大改善。
它的
数据文件不能突破2G的限制,它的
结构化查询语言(JET SQL)能力有限,不适合
大型数据库处理应用。受此限制,JET数据库引擎允许用户通过链接表和ODBC来访问大型的
数据库系统,如
Microsoft SQL Server、
Oracle等,也可以使用链接表访问
ISAM数据文件,如dBase、
Excel、
文本文件等,当然,这也给Access应用程序开发带来了很多的灵活性。在这方式下,处理大型数据库(服务型数据库,如SQL Server、Oracle)时,每一个链接表都有一个服务器的连接,在
服务器端,连接是一种资源,除了每个连接都要占用一定服务器资源外,还要负责链接表传递过来的数据访问指令的处理并返回相应的结果给客户端的JET引擎;同时,在客户端的JET引擎中,JET引擎要负责翻译各种链接表的数据访问指令传递给服务器,还要负责将服务器返回的结果翻译成JET引擎的数据表现形式以Access来处理。为了减轻这种负担,
Microsoft允许Access使用Microsoft的数据访问组件如DAO、ADO来访问各种数据源,可是这种方式复杂而又不直观,给Access面对的办公人员带来很高的
技术要求。
Microsoft不甘心它的Access软件只能通过JET引擎使用链接表和ODBC这种既浪费服务器资源又浪费客户端资源的方式或者通过ADO复杂的编程和不直观的操作方式来开发大型数据库系统应用,于是,在Access 2000(Access 9)版本中加入了一种新Access应用程序
开发方式——Access数据库项目ADP,同时在
Office 2000的发行包中包括了
MSDE1.0和Sharepoint1.0。
由于ADP的引入,Access增加了新的活力。尽管同时还引入了DAP(
数据访问页),由于其过于复杂的部署和
不安全因素(基于互联网部署,要启用Remote MSADC,要做跨域访问,部署复杂且不安全),在
Access 2007中,Microsoft终于放弃了DAP。
Microsoft SQLServer的桌面版本能够与Access一起使用,作为Jet数据库引擎的替代。这种支持是从MSDE(Miscrosoft SQL Server桌面引擎)开始的。MSDE是MSSQL服务器2000的小型版本,以后的产品是SQL Server 2005 and 2008的Express(入门级)版本。
使用唯一的别名
在Access Basic中,如果你知道入口点(
动态链接库中函数的名字),你可以调用动态链接库中的外部函数。不过,使用这一方法的限制性在于你只能声明外部函数一次。如果你安装了调用了你的模块调用的相同的Windows
应用程序接口,你不会得到一个不为人所知的错误:试图用相同的函数定义安装模块。你尝试安装的模块要么是包含有相同的函数名,要么是包含在已存在的模块中有的过程名。要使你取的名字唯一,在EDIT菜单中使用FIND命令找到重复的过程名,删除这些过程。你也可以用初始值和
下划线优先声明你所有从动态链接库中调用的过程,比如,声明getActiveWindow为:
一个空的32位指针是否有效是对一些动态链接库参数要求。要指定一个
空值,使用0&。当你的
函数调用一个过程并传递一个
表达式0&,“&”指定一个32位的空指针,在
函数声明中,一个
AS ANY参数指示Access Basic对那个参数不进行
类型检查,同时把
值传递到被调用的函数。
声明一个给动态链接库中的过程传递一个空指针参数的Access Basic函数示例如下:
(ByVal lpApplicationName As Any, ByVal lpKeyName As Any, ByVal lpString As Any)
Function nFlushIniCache
nFlushIniCache =WriteProfileString(0&, 0&, 0&)
End Function
这段声明了WriteProfileString
应用程序接口函数,这个函数来自于外部Windows动态链接库“kernel”。该函数调用了一个外部过程,为每个参数指定一个空值。这将使
WriteProfileString充满它的内部高速
缓冲区,并且将WIN.INI的任何变化写到磁盘上。
常常有这样一种情况,要从外部动态链接库调用的过程中返回一个两个字节长的
无符号整型数。然而Access Basic不支持这种
数据类型。正确地计算这种数据类型需要把它从一个无符号整型数转换程Access Basic长数据类型。
从无符号
整型数到Access Basic
长整型数的相互转换有两种方法:第一种是最基本的数学运算。第二种是使用Bitwise操作。两种方法效果一样,算术方法可读性更强,Bitwise方法执行地更快。
转换无符号整型数的算术方法如下:第一个函数读进一个无符号整型数同时返回一个已经转变位
长整型的值。第二个函数读入一个长整型值,然后返回一个转变成无符号整型的值。
Function lArithUintToInt (nUint As Integer)
If nUint<0 Then
lArithUintToInt = nUint + 65536
Else
lArithUintToInt = nUint
End If
End Function
Function nArithIntToUnint (lBytes As Long)
If lBytes>32767 Then
nArithIntToUnint = lBytes - 65536
Else
nArithIntToUnint = lBytes
End If
End Function
使用Bitwise方法转换无符号整型数:第一个函数读进一个无符号整型数,然后返回一个已经转换成长整型的值。第二个函数读入一个长整型值,然后返回一个已经转换的无符号整型值。第二个函数中使用了提示框的语句是为了防止当传递到函数的值大于64KB时会出现溢出信息。
The functions follow:
Function lBWIntToUint(nUint As Integer)
lBWIntToUint = nUint And &HFFFF&
End Function
Function nBWUintToInt(lBytes As Long)
Dim nTemp As Integer
If lBytes>65535 Then
Exit Function
End If
nTemp = lBytes And &H7FFF
nBWUintToInt = nTemp Or -(lBytes And &H8000)
End Function
注意:&HFFFF&要求“&”在16进制数的末尾。这样能保证32位的16进制数通过16位的值表示出来。
SHIFT和F2键调用过程
在Microsoft Access 中有一些以前无正式文本的特性,它们允许你指定过程,这个过程是从一个from或report的属性
工作表窗中调用的。要进入最小窗口,只需要同时按下SHIFT和F2键。
如果在一个模块中一个函数的定义是以“Builderr Form”开始,同时包含一个类似于Onclose属性或事件
标识符,按下SHIFT和F2键就可以调用这个过程。例如,当你在一个form的设计窗口中,而当前的
光标落在属性窗口中的Onclose事件的编辑控制上,按下SHIFT和F2键将能调用BuilderFormOnclose函数。这使用于form和reports的大部分属性和所有事件。下面的代码将说明函数的格式:
Function BuilderFormOnClose (szFormName As String,
szControlName As String, szCurrentValue As String, szReserved As String)
Else
DoCmd SelectObject A_MACRO, szCurrentValue, True
End If End Function
参数szFormName, szControlName, szCurrentValue, 和 sz
Reserved必须声明,即使你从不使用它们。当你的函数被调用时,这些参数总是要被传递的。如果它们没有被声明,那么Microsoft Access将不会调用你的函数。如果有一个参数被分配到Onclose事件上,那么前面的过程将打开一个宏,如果编辑控制是空,那么代码产生一个名为“New Macro”的新宏,同时把编辑控制值设置为“New Macro”。
诚然,前面的例子并不是非常完美,但它的确说明了要产生一个完美而有效的程序所必须的条件。
功能
取消传统菜单操作方式而代之以功能区是Access2007的明显改进之一,用户可以在功能区中进行绝大多数的
数据库管理相关操作。Access2007默认情况下有以下4个功能区,每个功能区根据命令的作用又分为多个组。
开始
“开始”功能区中包括视图、
剪贴板、字体、格式文本、记录、排序和筛选、查找、中文
简繁转换8个分组,用户可以在“开始”功能区中对Access2007进行操作例如复制粘贴数据、修改字体和字号、排序数据等。
创建
“创建”功能区中包括表、窗体、报表、其他和
特殊符号5个分组,“创建”功能区中包含的命令主要用于创建Access2007的各种元素。
“
外部数据”功能区包括导入、导出、
收集数据、
SharePoint列表4个分组,在“外部数据”功能区中主要对Access2007以外的数据进行相关处理。
数据库工具
“数据库工具”功能区包括宏、显示/隐藏、分析、移动数据、数据库工具5个分组,主要针对Access2007数据库进行比较高级的操作。
除了上述4种功能区之外,还有一些隐藏的功能区默认没有显示。只有在进行特定操作时,相关的功能区才会显示出来。例如在执行
创建表操作时,会自动打开“
数据表”功能区。
优缺点
优势
Microsoft Access Basic提供了一个丰富的开发环境。这个
开发环境给你足够的灵活性和对
Microsoft Windows应用程序接口的控制,同时保护你使你免遭用高级或低级语言开发环境开发时所碰到的各种麻烦。不过,许多优化、有效数据和模块化方面只能是应用程序设计者才能使用。开发者应致力于谨慎地使用算法。除了一般的程序设计概念,还有一些特别的
存储空间的管理技术,正确使用这些技术可以提高应用程序的执行速度,减少应用程序所消耗的存储资源。
提高速度和减少代码量
你可以用几种技巧来提高你的编码速度,但是却找不到有效的算法的替代者。接下来的这几点建议可以提高你的编码速度同时又减少你的应用程序消耗的存储空间。
用整形数进行数学运算
即使Microsoft Access 会使用一个联合处理器来处理
浮点型算术,
整型数算术也总是要快一些。当你的计算不含有小数,尽量使用整型或
长整型而不是变量或双整型。整型除法同样也要比浮点除法要快。在使用其他一些有效的数据类型时会警告:没有任何东西可以替换有效的
运算法则。
避免使用过程调用
避免在循环体中使用
子程序或
函数调用。每一次调用都因额外的工作和时间而给编码增大了负担。每一次调用都要求把函数的
局部变量和参数压栈,而栈的大小是固定的,不能随便加大,并且同时还要于Microsoft Access共享。
谨慎使用不定长数据类型
不定长数据类型提供了更大的灵活性,比如说允许正确处理
空值和自动处理溢出。另外这种数据类型比传统的数据类型要大并消耗更多的存储空间。前面还曾经提到过,不定长数据类型的变量在数学计算中比较慢。
用变量存放属性
对变量进行查找和设置都比对属性进行这些操作要快。如果你要得到或查阅一个
属性值许多次,那么把这个属性分配给一个变量,并用这个变量来
代替属性,那么你的代码将要运行快得多。例如,在一个循环中,你查阅某表格中得一个控制的属性,那么在循环外把属性分配给一个变量,然后在循环中用查询一个变量来代替查阅一个属性的方法要比较快。
预载表格
当你的应用程序启动并且把它们的可见属性设置位‘false’时,如果你安装了你所有的表格,那么你的应用程序的性能会让你感觉挺快。当你需要显示一个表格时,你只需要把该表格的可见属性设置为‘true’,这要比安装一个表格要快得多。需要记住的是,为你安装的每个表格,你都要从应用程序的全局堆中消耗存储空间。
dim conn
缺陷
1,数据库过大时,一般ACCESS数据库达到100M左右的时候性能就会开始下降。(例如:访问人数过多时容易造成IIS
假死,过多消耗服务器资源等等)
2,容易出现各种因数据库刷写频率过快而引起的数据库问题。
3,ACCESS数据库安全性比不上其他类型的数据库。
4,ACCESS论坛大了以后就很容易出现数据库方面的问题,当论坛数据库在50M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库慢的情况。
一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及
HTML和纯
ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复。这个时候可以用一般ASP探针测试一下,如果服务器的运算时间正常,一般就是数据库方面的问题了。
由于这是ACCESS本身的局限性,所以解决的方法除了减少数据量和更换大型的数据库论坛以外也没什么好办法。
1。临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。
2。比较长远办法:更换论坛和数据库,使用
SQL数据库等等。
版本历史
Microsoft Access 1.0 版本在1992年11月发布。
微软指定它对系统最小要求为视窗3.0配以4兆节内存。6兆节内存配以最小8兆节硬盘空间(建议最好有14兆节硬盘空间)则为建议的
系统要求。当时软件以7张1.44兆节软碟发布的载体。
这个软件能够有效地处理大量记录但是测试显示在某些情况下会导致数据损毁。For example, file sizes over 700 MB were problematic. (Note that most hard disks were smaller than 700 MB at the time this was in wide use.) The Getting Started manual warns about a number of circumstances where obsolete device drivers or incorrect configurations can cause data loss.
Access' initial codename was Cirrus. This was developed before
Visual Basic and the forms engine was called Ruby. Bill Gates saw the prototypes and decided that the Basic languagecomponent should be co-developed as a separate expandable application. This project was called Thunder. The two projects were developed separately as the underlying forms engines were incompatible with each other; however, these were merged together again after VBA.
2010特点
Microsoft Access 2010 的特点,就在于使用简便。Access 2010 让您充分运用信息的力量。您不用是数据库专家,一样可以大显神通。同时,透过新增加的
网络数据库功能,您在追踪与
共享数据,或是利用数据制作报表时,将可更加轻松无负担,这些数据自然也就更具影响力。网页
浏览器有多近,数据离您就有多近。
1、最好上手、最快上手。在 Access 2010 中,您可以发挥社群的力量。采用其他人建立的数据库模板,并且分享您的独到设计。使用由 Office Online 预先建置,针对常见工作而设计的全新数据库模板,或是选择社群提供的模板,并且加以自定义,以符合您的独特需求。
2、为您的数据建立集中化存取平台。使用多种数据联机,以及从其他来源链接或汇入的信息,以整合您的 Access 报表。您可以透过改良的「设定格式化的条件」功能与
计算工具,建立起丰富、动态化、富含视觉效果的报表。Access 2010 报表已可支持数据横条效果,让您以及阅读报表的人都能更容易掌握趋势、洞烛机先。
3、在任何地方都能存取您的应用程序、数据或窗体。将您的数据库延伸到网络上,让没有 Access 客户端的使用者,也能透过浏览器开启网络窗体与报表。数据库如有变更,将自动获得同步处理。1 或者,您也可以
脱机处理您的网络数据库,进行设计与数据变更,然后在重新联机时,将这些变更同步更新到 Microsoft
SharePoint Server 2010 上。透过 Access 2010 与SharePoint Server 2010,您的数据将可获得集中保护,以符合数据、备份与稽核方面的法规需求,并且提高可存取性与
管理能力。
4、让专业设计深入您的 Access 数据库。把亲切熟悉、赏心悦目的 Office 主题,原汁原味地套用到您的 Access 客户端与网络数据库上。您可以在多种主题中恣意挑选,或是设计您独特的
自定义主题,使窗体与报表更加美观。
5、以拖放方式为数据库加入导航功能。不用撰写任何程序代码,或设计任何逻辑,就能创造出具备专业外观与网页式导览功能的窗体,让您常用的窗体或报表在使用上更为方便。共有六种预先定义的导览模板,外加多种垂直或水平索引
卷标可供选择。多层的水平索引卷标可用于显示大量的 Access 窗体或报表。只要以拖放方式,就能显示窗体或报表。
6、更快、更轻松地完成工作。Access 2010 能简化您寻找及使用各项功能的方式。全新的
Microsoft Office Backstage 检视取代了传统的档案菜单,让您只需轻按几下鼠标,就能发布、备份及
管理数据库。功能区设计也经过改良,进一步加快您存取常用命令的速度。
7、使用
IntelliSense 建立表达式,不费吹灰之力。经过简化的「表达式建立器」可以让您更快、更轻松地建立数据库中的
逻辑与表达式。IntelliSense 的快速信息、
工具提示与自动完成,有助于减少错误、省下死背表达式名称和语法的时间,把更多时间挪到应用程序逻辑的建立上。
8、以前所未有的超快速度设计宏。Access 2010 拥有面目一新的宏
设计工具,您可以更轻松地建立、编辑并自动化执行数据库逻辑。宏设计工具能提高用户生产力、减少程序代码撰写错误,并且轻松整合复杂无比的逻辑,建立起稳固的应用程序。以数据宏结合逻辑与数据,将逻辑集中在源数据表上,进而加强程序代码的
可维护性。您可以透过更强大的宏设计工具与数据宏,把 Access 客户端的自动化功能延伸到 SharePoint 网络数据库以及其他会更新您的数据表的应用程序上。
9、把数据库部分转化成可重复使用的模板。重复使用由数据库的其他用户所建置的数据库组件,节省时间与心力。您可以将常用的 Access 对象、字段或字段集合储存为模板,并且加入现有的数据库中,以提高您的生产力。应用程序组件可以分享给组织所有成员使用,以求建立数据库应用程序时能拥有一致性。
10、整合 Access 数据与
实时网络内容。您可以经由
网络服务通讯协议,联机到
数据源。您可透过 Business Connectivity Services,将网络服务与业务应用程序的数据,纳入您建立的数据库中。 此外,全新的网页浏览器控制功能,还可让您将 Web 2.0 内容整合到 Access 窗体中。
2013特点
构建应用程序
使用
SharePoint服务器或
Office 365网站作为主机,您将能够生成一个完美的基于浏览器的数据库应用程序。在本质上,Access 应用程序使用 SQL Server来提供最佳性能和
数据完整性。在启动屏幕上,单击“自定义 Web 应用程序”。
表模板
使用预先设计的表模板来将表快速添加到您的应用程序。如果您要跟踪任务,则搜索任务模板并单击所需的模板
外部数据
可从 Access 桌面数据库、
Microsoft Excel 文件、ODBC 数据源、文本文件和 SharePoint 列表导入数据。
自动创建界面
包括导航
Access 应用程序无需您构建视图、切换面板和其他
用户界面 (UI) 元素。表名称显示在窗口的左边缘,每个表的视图显示在顶部。
操作栏
每个内置视图均具备一个操作栏,其中包含用于添加、编辑、保存和删除项目的按钮。您可以添加更多按钮到此操作栏以运行您所构建的任何自定义宏,或者您也可以删除您不想要用户使用的按钮。
更易修改视图
应用程序允许您无需先调整布局,即可将控件放到您所需的任意位置。您只需拖放控件即可,其他控件会自动移开以留出空间。
属性设置标注
您无需在
属性表中搜索特定设置,这些设置都方便地位于每个分区或控件旁边的标注内。
处理相关数据
相关项目控件
相关项目控件提供快速列出和汇总
相关表或查询中的数据的方法。单击项目以打开该项目的详细
信息视图。
自动完成控件可从相关表中查找数据。它是一个组合框,其工作原理更像一个即时搜索框。
钻取链接
钻取按钮可让您快速查看相关项目的详细信息。Access 应用程序处理后台逻辑以确保显示正确的数据。
新部署选项
权限改进
更好地控制谁能修改您的应用程序。创作者可更改数据,但无法更改设计;读者只可读取现有数据。
打包和分发应用程序
Access 应用程序可另存为包文件,然后添加到您的
企业目录或 Office
应用商店。在 Office 应用商店,您可以免费分发您的应用程序,或者您可以收取一定费用,赚些零用钱。
Access2013与Access2010的区别(Access2013删减的功能)